<?php
//	ThinkphpHelper v0.3
//
//	weiyunstudio.com
//	sjj zhuanqianfish@gmail.com
//	2014年9月18日
namespace TPH\Controller;

use Think\Controller;
use Think\Model;

//生成模块
class LayoutController extends Controller
{
    public function index()
    {
        $this->assign('db_prefix', C('DB_PREFIX'));
        $moduleNameList = getModuleNameList();  // 获取模块列表
        $this->assign('moduleNameList', $moduleNameList);
        $layoutNameList = $this->getLayoutTemplateNameList();   // 获取布局模板列表
        $this->assign('layoutNameList', $layoutNameList);
        $this->display();
    }

    /**
     * 在指定目录下创建布局模板文件
     */
    public function creatFiles()
    {
        $moduleName = I('moduleName');              // 模块名
        $layoutName = I('layoutName');              // 布局模板[目录]名
        $modulePath = APP_PATH . $moduleName . '/'; // 模块文件路径
        $layoutPath = $modulePath . 'View/';    // 视图文件路径
        $result = FileUtil::copyDir(MODULE_PATH . 'Template/' . $layoutName, $layoutPath, true);  // 先复制文件结构
        if($result){
            die($layoutName . "写入布局模板成功!");
        }
        die($layoutName . "写入布局模板失败!");
    }

    /**
     * 获取布局模版列表
     * @return array
     * @throws Exception
     */
    public function getLayoutTemplateNameList()
    {
        $layoutTemplateNameList0 = FileUtil::getDirList(MODULE_PATH . "/Template");
        $layoutTemplateNameList = array();
        foreach ($layoutTemplateNameList0 as $layoutDirName) {
            if (substr($layoutDirName, -6) == 'layout') {    //判断以layout结尾的才是布局文件夹
                $layoutTemplateNameList[] = $layoutDirName;
            }
        }
        return $layoutTemplateNameList;
    }
}